TestNG টেস্ট এক্সিকিউশনের জন্য একটি স্বয়ংক্রিয় এবং শক্তিশালী ডিফল্ট রিপোর্টিং সিস্টেম সরবরাহ করে। টেস্ট এক্সিকিউশন শেষ হওয়ার পরে, এটি একটি বিস্তারিত HTML রিপোর্ট এবং XML রিপোর্ট তৈরি করে, যা টেস্টের ফলাফল বিশ্লেষণে সহায়ক।
TestNG-এর ডিফল্ট রিপোর্ট
TestNG ডিফল্টভাবে দুটি ধরণের রিপোর্ট তৈরি করে:
- HTML রিপোর্ট
- টেস্ট এক্সিকিউশনের ফলাফল দেখায়।
- টেস্ট পাস, ফেইল, এবং স্কিপড টেস্টের সংখ্যা এবং বিস্তারিত থাকে।
- সহজে ব্রাউজারে দেখা যায়।
- XML রিপোর্ট
- রিপোর্টের কাঠামো এবং ডেটা বিশ্লেষণের জন্য XML ফরম্যাটে রিপোর্ট প্রদান করে।
- অন্যান্য টুল বা সিস্টেমে ইন্টিগ্রেশনের জন্য কার্যকর।
TestNG রিপোর্ট কোথায় পাওয়া যায়?
যখন TestNG স্যুট চালানো হয়, তখন রিপোর্ট ফাইলগুলো test-output ডিরেক্টরিতে তৈরি হয়। এই ডিরেক্টরির মধ্যে দুটি প্রধান ফাইল থাকে:
- index.html
টেস্টের HTML রিপোর্ট ব্রাউজারে দেখতে। - testng-results.xml
XML ফরম্যাটে টেস্টের ফলাফল দেখতে।
HTML রিপোর্টের বৈশিষ্ট্য
- ওভারভিউ ট্যাব:
সব টেস্টের সার্বিক ফলাফল (পাস, ফেইল, স্কিপড)। - মেথডস ট্যাব:
প্রতিটি টেস্ট মেথডের ফলাফল এবং ডিউরেশন। - গ্রুপ ট্যাব:
যদি টেস্ট মেথডগুলো গ্রুপ করা হয়, তাহলে তার বিস্তারিত। - স্ক্রিনশট বা লগ ফাইল অ্যাড করা (কাস্টমাইজড):
কাস্টমাইজ করার মাধ্যমে টেস্টের স্ক্রিনশট বা লগ রিপোর্ট যুক্ত করা যায়।
TestNG HTML রিপোর্ট দেখতে
- টেস্ট রান করার পরে
test-output/index.htmlফাইলটি ব্রাউজারে ওপেন করুন। - এখানে টেস্ট ফলাফল পাস, ফেইল, এবং স্কিপড হিসাবে রঙ-ভিত্তিক চিহ্নিত থাকবে।
- প্রতিটি টেস্ট মেথডের এক্সিকিউশন সময়ও দেখানো হবে।
XML রিপোর্টের বৈশিষ্ট্য
XML রিপোর্টে নিচের তথ্যগুলো থাকে:
- ট্যাগ:
টেস্ট স্যুট সম্পর্কিত তথ্য। - ট্যাগ:
প্রতিটি টেস্ট ক্লাসের বিস্তারিত। - ট্যাগ:
প্রতিটি মেথডের এক্সিকিউশন স্ট্যাটাস (পাস, ফেইল, স্কিপড)।
ডিফল্ট রিপোর্টিং ব্যবহার করার উদাহরণ
টেস্ট ক্লাস:
import org.testng.annotations.Test;
public class TestNGReportExample {
@Test
public void testPass() {
System.out.println("This test will pass.");
}
@Test
public void testFail() {
System.out.println("This test will fail.");
assert false;
}
@Test
public void testSkip() {
System.out.println("This test will be skipped.");
throw new SkipException("Skipping this test.");
}
}
এক্সিকিউশন ফলাফল:
HTML রিপোর্টে টেস্ট মেথডগুলোকে তিনটি ভাগে ভাগ করা হবে:
- পাস:
testPass - ফেইল:
testFail - স্কিপড:
testSkip
কাস্টমাইজড রিপোর্টিং কেন প্রয়োজন হতে পারে?
TestNG ডিফল্ট রিপোর্টিং যথেষ্ট কার্যকর হলেও কিছু বিশেষ প্রয়োজনে কাস্টমাইজড রিপোর্ট প্রয়োজন হতে পারে, যেমন:
- স্ক্রিনশট যুক্ত করা।
- লগ ডেটা অ্যাড করা।
- বেশি ডিটেইল বা নির্দিষ্ট ফরম্যাট।
কাস্টম রিপোর্ট তৈরি করতে TestNG-এর IReporter এবং IResultListener ইন্টারফেস ব্যবহার করা যায়।
উপকারিতা
- ইউজার-ফ্রেন্ডলি: HTML রিপোর্ট সহজেই পড়া এবং বিশ্লেষণযোগ্য।
- ডিটেইলড ফলাফল: প্রতিটি টেস্টের মেথড, সময়, এবং স্ট্যাটাস দেখায়।
- ইন্টিগ্রেশন: XML ফাইলটি CI/CD টুলের (যেমন Jenkins) সাথে সহজে ইন্টিগ্রেট করা যায়।
সারাংশ
TestNG-এর ডিফল্ট রিপোর্টিং ফিচার টেস্ট এক্সিকিউশনের পাস, ফেইল, এবং স্কিপড স্ট্যাটাসসহ বিস্তারিত রিপোর্ট সরবরাহ করে। এটি টেস্ট ফলাফল বিশ্লেষণে সময় সাশ্রয় করে এবং সহজেই ব্রাউজারে পড়া যায়। XML ফাইল ব্যবহার করে রিপোর্টগুলো অন্যান্য সিস্টেম বা টুলে ইন্টিগ্রেট করাও সহজ।
Read more